/**
 * Object.observe() :方法用于异步地监视一个对象的修改。
 * 当对象属性被修改时，方法的回调函数会提供一个有序的修改流。
 * 然而，这个接口已经被废弃并从各浏览器中移除。
 * 你可以使用更通用的 Proxy 对象替代。
 */
var obj = {
    foo: 0,
    bar: 1
};

Object.observe(obj, function (changes) {
    console.log(changes);
});

obj.baz = 2;
// [{name: 'baz', object: <obj>, type: 'add'}]

obj.foo = 'hello';
// [{name: 'foo', object: <obj>, type: 'update', oldValue: 0}]

delete obj.baz;
// [{name: 'baz', object: <obj>, type: 'delete', oldValue: 2}]